tg-me.com/pythonturboru/455
Last Update:
🐍 Совет по Python №8.
Создавайте более простые объекты, поддерживающих выражение with!
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками?
Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов enter и exit как показано на первом примере.
На первом примере вы видите более распространённый способ реализации возможностей менеджера контекста в Python, но то же самое можно сделать и проще, что и показано на втором примере.
На втором примере протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
BY Python Turbo. Уютное сообщество Python разработчиков.

Share with your friend now:
tg-me.com/pythonturboru/455